package com.qianfeng.smsplatform.search.mq;

import com.qianfeng.smsplatform.common.constants.RabbitMqConsants;
import com.qianfeng.smsplatform.common.model.Standard_Submit;
import com.qianfeng.smsplatform.search.service.DataFilterManager;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @author fjw
 * @version 1.0
 * @date 2019/12/3 9:30
 */
//当前类是用来接收指定队列消息的 用@RabbitListener(queues = "secondqueue",autoStartup ="true" )注解实现
@Component
@RabbitListener(queues = RabbitMqConsants.TOPIC_PRE_SEND)
public class MessageListener {

    //注入 DataFilterManager的 实现类 用来执行方法
    @Autowired
    private DataFilterManager dataFilterManager;

    /**
     * 这个队列是从web 或者 http 模块发送消息到一个指定的队列 我们从那个队列中获取的
     * todo 自定义一个发送者发送消息
     */
    @RabbitHandler
    public void receiveMessage(Standard_Submit submit){


        //接受到消息 转换成 sub 对象
        System.out.println("接收到消息了 消息是："+submit.toString());

        //接受到消息后需要把消息 发送到 DataFilterManagerImpl 类的 一个方法里
//        for (Standard_Submit standard_submit : submit) {
//            String destMobile = standard_submit.getDestMobile();
//            System.out.println(destMobile);
//            dataFilterManager.dealWith(standard_submit);
//        }
        dataFilterManager.dealWith(submit);

    }
}
